package com.ld.hpfs.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.ld.hpfs.pojo.Exp;
import com.ld.hpfs.pojo.Invoice;

public interface EnterInvoiceService {
	public HashMap<String,Object> getInvoiceCode(HashMap<String,Object> param);
	public ArrayList<HashMap<String,Object>> getInvoiceDetailList(HashMap<String,Object> param);
	
	public ArrayList<HashMap<String,Object>> getInvoiceMainList(HashMap<String,Object> param);
	public int getInvoiceMainListCount(HashMap<String,Object> param);
	
	public int updateInvoiceMain(HashMap<String,Object> param);
	public int insertInvoiceMain(HashMap<String,Object> param);
	
	public int saveInvoiceDetail(HashMap<String,Object> param);
	
	public int deleteInvoiceMain(HashMap<String,Object> param);
	
	public ArrayList<HashMap<String,Object>> getInvoiceType(HashMap<String,Object> param);
	public ArrayList<HashMap<String,Object>> getInvoiceType2(HashMap<String,Object> param);
	
	public ArrayList<HashMap<String,Object>> getClientInfoForEnter(HashMap<String,Object> param);
	public ArrayList<HashMap<String,Object>> getGoodsInfoForEnter(HashMap<String,Object> param);
	public ArrayList<HashMap<String,Object>> getSellerInfoForEnter(HashMap<String,Object> param);
	
	public Long getStartFromId(HashMap<String,Object> param);
	
	public int checkSplitOrMerge(HashMap<String,Object> param);
	public String getDocForRule();
	public ArrayList<HashMap<String, Object>> getRuleSet(String companyId);
	public HashMap<String, Object> getCustCount(HashMap<String, Object> paramforcust);
	public ArrayList<HashMap<String, Object>> getCustCodeForNew();
	public void insertCustData(HashMap<String, Object> paramForNewCust);
	public int getMaxHeadId(HashMap<String, Object> param);
	// 票据录入没有选择客户而且输入的客户名称在数据库中存在，将相同的客户取出第一条作为此次票据录入的客户
	public HashMap<String, Object> getCustForInput(HashMap<String, Object> paramForCount);
	
}